import os
import sys
from langchain_openai import ChatOpenAI
from langchain.prompts import PromptTemplate
from langchain.chains import LLMChain

# 添加项目根目录到Python路径
sys.path.append(os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))))
from config_reader import get_deepseek_api_key

# 1. 初始化 DeepSeek V3 LLM
llm = ChatOpenAI(
    model="deepseek-chat",  # DeepSeek V3 模型
    api_key=get_deepseek_api_key(),  # 从配置文件获取DeepSeek API密钥
    base_url="https://api.deepseek.com/v1",  # DeepSeek API端点
    temperature=0.2       # 低随机性，保证推理稳定
)

# 2. 创建专业的计算机视觉助手提示模板
prompt = PromptTemplate(
    input_variables=["question"],
    template="""
你是一个专业的计算机视觉AI助手，精通Python图像分类技术。

请详细回答以下问题：{question}

回答要求：
1. 提供具体的实现方法和步骤
2. 包含常用的库和框架（如TensorFlow、PyTorch、Keras、OpenCV等）
3. 给出实际的代码示例
4. 说明数据预处理、模型训练、评估等关键步骤
5. 提供最佳实践建议
6. 限制在50字内

请用中文回答，确保内容准确、实用、易懂。
"""
)

# 3. 创建现代LLM链（使用RunnableSequence）
llm_chain = prompt | llm

# 4. 运行问答
if __name__ == "__main__":
    query = "如何用 Python 实现图像分类？"
    print("🤖 DeepSeek V3 计算机视觉助手")
    print("=" * 50)
    
    try:
        # 使用现代方法
        result = llm_chain.invoke({"question": query})
        print("\n📌 回答：")
        print(result.content)
    except Exception as e:
        print(f"❌ 错误：{e}")
        print("请检查DeepSeek API密钥配置是否正确")